Digital video capabilities can be incorporated into a wide range of devices, including digital televisions, digital direct broadcast systems, wireless communication devices, wireless broadcast systems, personal digital assistants (PDAs), laptop or desktop computers, digital cameras, digital recording devices, video gaming devices, video game consoles, cellular or satellite radio telephones, and the like. Digital video devices implement video compression techniques, such as MPEG-2, MPEG-4, or H.264/MPEG-4, Part 10, Advanced Video Coding (AVC), to transmit and receive digital video more efficiently. Video compression techniques perform spatial and temporal prediction to reduce or remove redundancy inherent in video sequences.
In video coding, video compression often includes spatial prediction, motion estimation and motion compensation. Intra-coding relies on spatial prediction to reduce or remove spatial redundancy between video blocks within a given video frame. Inter-coding relies on temporal prediction to reduce or remove temporal redundancy between video blocks of successive video frames of a video sequence. For inter-coding, a video encoder performs motion estimation to track the movement of matching video blocks between two or more adjacent frames. Motion estimation generates motion vectors, which indicate the displacement of video blocks relative to corresponding prediction video blocks in one or more reference frames. Motion compensation uses the motion vectors to generate prediction video blocks from a reference frame. After motion compensation, a residual video block is formed by subtracting the prediction video block from the original video block to be coded.
The video encoder usually applies transform, quantization and variable length coding (VLC) processes to further reduce the bit rate associated with communication of the residual block. VLC of the residual blocks involves the application of variable length codes to further compress residual coefficients produced by the transform and quantization operations. For example, a VLC table may be used to match different sets of coefficients to variable length codewords in a manner that promotes coding efficiency. Different VLC tables may be used for different video content. A video decoder performs inverse VLC operations to reconstruct the coefficients, and then inverse transforms the coefficients. The video decoder can decode the video information based on the motion information and residual information associated with video blocks.
Some video coding makes use of scalable techniques. For example, scalable video coding (SVC) refers to video coding in which a base layer and one or more scalable enhancement layers are used. For SVC, a base layer typically carries video data with a base level of quality. One or more enhancement layers carry additional video data to support higher spatial, temporal and/or SNR levels. The base layer may be transmitted in a manner that is more reliable than the transmission of enhancement layers. Enhancement layers may add spatial resolution to frames of the base layer, or may add additional frames to increase the overall frame rate. In one example, the most reliable portions of a modulated signal may be used to transmit the base layer, while less reliable portions of the modulated signal may be used to transmit the enhancement layers. Enhancement layers may define different types of coefficients, referred to as significant coefficients and refinement coefficients.